如何在Mac M1上使用data.table多核運算

在mac M1上使用R的data.table,這個資料處理套件時先前都會發生偵測不到openMP的錯誤,導致無法多核運算。先前雖然根據data.tablewiki安裝步驟試了幾次卻總是失敗。事隔多月,今天突然成功了。紀錄一下成功的安裝過程。

1. 安裝xcode

在terminal中執行以下

xcode-select --install

2. Install libomp

  1. 先安裝homebrew
  2. 執行以下指令
brew update && brew install libomp

3. Update Makevars

  1. 在finder當中按下shift+cmd+.開啟檢視隱藏檔
  2. 使用者/使用者名稱/.R當中建立Makevars這個檔案,若存在就修改內容即可
  3. 在這個檔案內貼上以下內容
LDFLAGS += -L/opt/homebrew/opt/libomp/lib -lomp
CPPFLAGS += -I/opt/homebrew/opt/libomp/include -Xclang -fopenmp

4. 在R當中安裝data.table

執行install.packages("data.table", type = "source")

也許使用source安裝會是這次可以成功的關鍵?